home *** CD-ROM | disk | FTP | other *** search
Text File | 1998-10-13 | 7.4 KB | 305 lines | [TEXT/CWIE] |
- // MacAppSwitches.h
- // Copyright © 1985-98 by Apple Computer, Inc. All rights reserved.
-
- /*
- Change History:
- 09/08/98 [2271933] Removed definition of qAllegro. You should
- now test against UNIVERSAL_INTERFACES_VERSION >= 0x0320.
- 07/17/98 [TY] Don’t set qNames if already defined.
- 06/16/98 Added qWantsContextualMenus.
- 03/03/98 Add qDragObsolete.
- 02/13/98 Don’t set qDrag for Windows.
- 01/29/98 Added qPublishSubscribe flag.
- 01/27/98 Set default value of qExportSymbols_MA.
- 01/16/98 Removed ALOE support.
- */
-
-
- // MacAppSwitches and the ACS.
- // Some switches are inherited from the ACS, qCoreDebug for example. The switches
- // in this file inherit some switches from the ACS. If the ACS is set to be built
- // debug, i.e. qCoreDebug is set, then the switches in this file will be set to be
- // built debug, i.e. qDebug etc., will be set.
-
- // Usage Note:
- // The settings in this file represent the default way to build MacApp. The way
- // the settings are set up, they are designed to be overridden easily by defining
- // different values for any of them in "MacAppAutoSwitches.h".
-
- // When Should I Include this File?
- // Rarely. You should include MacAppRequired.h instead. It will include
- // this file (MacAppSwitches.h) as well as MacAppAutoSwitches.h.
-
-
- #ifndef __MacAppSwitches__
- #define __MacAppSwitches__
-
- // =========================================================
- // Misc Flags
- // =========================================================
- // In case the build system doesn't supply these.
- // MacApp uses 1 and 0 in preprocessor identifier definitions and
- // preprocessor conditional tests and uses true and false for bool and bool values.
- // However, these definitions are left in for compatibility.
-
- #if !defined(TRUE)
- # define TRUE 1
- #endif
-
- #if !defined(FALSE)
- # define FALSE 0
- #endif
-
- #ifndef qExportSymbols_MA
- #define qExportSymbols_MA 0
- #endif
-
- #if !defined(qBackwardCompatible)
- # define qBackwardCompatible 0
- // set to true to leave in compatibility sops that will probably be removed
- // in a subsequent release
- #endif
-
- #if !defined(qMacApp)
- # define qMacApp 1
- #endif
-
- #if !defined(qNoCode)
- # define qNoCode 0
- #endif
-
- #if !defined(qSegments)
- # define qSegments 0
- #endif
-
- // ========================================================
- // System Software requirements
- // ========================================================
-
- #ifndef qNeedsSystem7_5
- # define qNeedsSystem7_5 0
- #endif
-
- #ifndef qNeedsSystem8
- # define qNeedsSystem8 0
- #endif
-
- #ifndef qNeedsColorQD
- # define qNeedsColorQD 1
- #endif
-
- // ========================================================
- // MacApp Features
- // ========================================================
-
- #ifndef qAppleEventAware
- # if qMSWindows
- # define qAppleEventAware 0
- # else
- # define qAppleEventAware 1
- # endif
- #endif
-
- #ifndef qAttachable
- # define qAttachable qAppleEventAware
- #endif
-
- #ifndef qOptimizeSelfSendAevt
- # define qOptimizeSelfSendAevt 1
- #endif
-
- #ifndef qDrag
- # if qMSWindows
- # define qDrag 0
- # else
- # define qDrag 1
- # endif
- #endif
-
- // qWantsContextualMenus controls whether the application will
- // recognize the use of contextual menus. If this feature is turned
- // on then the Contextual Menu Manager SDK will be required.
- #ifndef qWantsContextualMenus
- # if qMSWindows
- # define qWantsContextualMenus 0
- # else
- # define qWantsContextualMenus 1
- # endif
- #endif
-
- // qDragObsolete is for drag & drop methods that will eventually
- // be removed from TView. For the first phase of the transition
- // we support the obsolete methods just like the regular ones.
- #ifndef qDragObsolete
- # define qDragObsolete qDrag
- #endif
-
- // This flag will be depracated and removed.
- // Use qEmulateStandardControls and qNeedsAppearance instead.
- // It is being left in for now to minimize breaking dependencies on it.
- #ifndef qGrayscaleAppearance
- # define qGrayscaleAppearance 1
- #endif
-
- // This controls whether TButton, TCheckBox, TRadio, and TPopup should
- // be emulated using AGA when the Appearance Manager is not present.
- #ifndef qEmulateStandardControls
- # define qEmulateStandardControls 1
- #endif
-
- // This controls whether Appearance AGA emulation code should be stripped
- // for all new controls, and whether the Appearance Manager is required
- // to be present.
- #ifndef qNeedsAppearance
- # define qNeedsAppearance 0
- #endif
-
- #ifndef qGXPrinting
- # define qGXPrinting 0
- #endif
-
- #ifndef qPublishSubscribe
- # define qPublishSubscribe 0
- #endif
-
- // ========================================================
- // Template views support
- // ========================================================
-
- #ifndef qTemplateViews
- # define qTemplateViews 1
- #endif
-
- #ifndef qWriteTemplateViews
- # define qWriteTemplateViews 0
- #endif
-
-
- // ========================================================
- // Debugging
- // ========================================================
-
- // Detailed Debugging support
- // • wantDebugging is sort of one stop shopping for debugging
- // • qDebug is a generic flag to turn on debugging, historically qDebug
- // is owned by MacApp.
- // • qCoreDebug is inherited from ACS Core suite (defined in CoreSwitches_AC.h).
-
- #if wantDebugging || qDebug || qCoreDebug
-
- // Debug
- # ifndef qDebug
- # define qDebug 1
- # endif
- # ifndef qDebugMsg
- # define qDebugMsg 1
- # endif
- # ifndef qSym
- # define qSym 1
- # endif
- # ifndef qTheDebugger
- # define qTheDebugger 0
- # endif
- # ifndef qInspector
- # define qInspector 1
- # endif
- # ifndef qRangeCheck
- # define qRangeCheck 1
- # endif
- # ifndef qPerform
- # define qPerform 0
- //CW can use MPW's performance tools except when Jasik's debugger is
- //running under emulation. Try it with Macsbug, MW Debug, SourceBug,
- //or Jasik running on a 68K machine. (The same limitation applies
- //when Jasik is used with a CFront build.)
- # endif
-
- # ifdef MW_REZ
- # define qNames 1
- # else
- # ifndef qNames
- # define qNames (__option(macsbug) || __option(oldstyle_symbols))
- # endif
- # endif
-
- #else
- // if defined(wantDebugging) || defined(qDebug) || defined(qCoreDebug)
-
- // NoDebug Builds:
-
- # ifdef qDebug
- # undef qDebug
- # endif
- # define qDebug 0
-
- # ifdef qDebugMsg
- # undef qDebugMsg
- # endif
- # define qDebugMsg 0
-
- # ifdef qSym
- # undef qSym
- # endif
- # define qSym 0
-
- # ifdef qTheDebugger
- # undef qTheDebugger
- # endif
- # define qTheDebugger 0
-
- # ifdef qPerform
- # undef qPerform
- # endif
- # define qPerform 0
-
- # ifdef qRangeCheck
- # undef qRangeCheck
- # endif
- # define qRangeCheck 0
-
- # ifdef qInspector
- # undef qInspector
- # endif
- # define qInspector 0
-
- # ifdef MW_REZ
- # define qNames 0
- # else
- # ifndef qNames
- # define qNames (__option(macsbug) || __option(oldstyle_symbols))
- # endif
- # endif
-
- #endif
-
- // ========================================================
- // Virtual user support
- // ========================================================
-
- #ifndef qNeedsVU
- # define qNeedsVU 0
- #endif
-
- // Disable virtual user if not compiling for CFront or for PowerPC.
- // Necessary because virtual user attempts to call our VU assist hook
- // using Apple C calling convention. MacApp declares a UPP/procInfo that
- // enables the callback to work in PowerPC builds. There is currently no
- // way to use the VU assist module in non-CFront and non-PowerPC builds.
-
- #if !defined(qNeedsVU) || (!defined(applec) && !qPowerPC)
- # undef qNeedsVU
- # define qNeedsVU 0
- #endif
-
- // ========================================================
- // Sanity Checks
- // ========================================================
-
- // MPW's performance tools can't work with PPC or CFM68K builds.
- #if qPowerPC || qModelCFM
- # undef qPerform
- # define qPerform 0
- #endif
-
- #endif // __MacAppSwitches__
-